package com.sxt.pro.controller;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxt.pro.pojo.Lables;
import com.sxt.pro.service.LablesService;
import com.sxt.pro.vo.LablesVo;
import com.sxt.sys.common.DataGridView;
import com.sxt.sys.common.ResultObj;
import com.sxt.sys.common.WebUtils;

/**  

* @Description: 标签管理控制层

* @author xinxiaokang  

* @date 2021年4月7日 上午11:48:32

*/
@RestController
@RequestMapping(value ="/lables")
public class LablesController {
	
	@Autowired
	private LablesService lablesService;
	
	/**
	 * 查询标签分页列表
	 * @param goldPriceVo
	 * @return
	 */
	@RequestMapping("/loadAllLables")
	public DataGridView loadAllLables(LablesVo lablesVo){
		//存入网点编号和用户名放入session中
		 int banknbr = (int) WebUtils.getSession().getAttribute("banknbr");
		 lablesVo.setBanknbr(banknbr);
		//初始化 当前页、每页显示条数
		IPage<Lables> page = new Page<>(lablesVo.getPage(), lablesVo.getLimit());
		//封装对象查询条件
		QueryWrapper<Lables> queryWrapper = new QueryWrapper<Lables>();
		//筛选条件：网点编号
		  queryWrapper.eq(lablesVo.getBanknbr()!=null&&lablesVo.getBanknbr()!=0,"banknbr",lablesVo.getBanknbr());
		//筛选条件:标签名称
		queryWrapper.like(StringUtils.isNotBlank(lablesVo.getLablename()), "lablename", lablesVo.getLablename());
		//获取分页数据
		this.lablesService.page(page, queryWrapper);
		return new DataGridView(page.getTotal(), page.getRecords());
	}
	
	/**
	 * 添加标签
	 * @param lablesVo
	 * @return
	 */
	@RequestMapping("addLables")
	public ResultObj addLables(LablesVo lablesVo) {
		//添加时，网点默认
		int banknbr = (int) WebUtils.getSession().getAttribute("banknbr");
		lablesVo.setBanknbr(banknbr);
		try {
			this.lablesService.save(lablesVo);
			return ResultObj.ADD_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.ADD_ERROR;
		}
	}

	/**
	 * 修改标签
	 * @param lablesVo
	 * @return
	 */
	@RequestMapping("updateLables")
	public ResultObj updateLables(LablesVo lablesVo) {
		try {
			this.lablesService.updateById(lablesVo);
			return ResultObj.UPDATE_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.UPDATE_ERROR;
		}
	}

	/**
	 * 删除标签
	 * @param id
	 * @return
	 */
	@RequestMapping("deleteLables")
	public ResultObj deleteLables(Integer id) {
		try {
			this.lablesService.removeById(id);
			return ResultObj.DELETE_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.DELETE_ERROR;
		}
	}
	
	
	
	
}
